package com.luxsoft.siipap.em.replica.online;

import org.apache.log4j.Logger;

import com.luxsoft.siipap.dao.SucursalDao;
import com.luxsoft.siipap.dao.core.ProductoDao;
import com.luxsoft.siipap.em.replica.model.Registro;
import com.luxsoft.siipap.inventarios.dao.ExistenciaDao;
import com.luxsoft.siipap.inventarios.model.Existencia;
import com.luxsoft.siipap.model.Sucursal;
import com.luxsoft.siipap.model.core.Producto;

/**
 * Strategia para importar/actualizar  registros de ARSALD
 * 
 * @author Ruben Cancino
 *
 */
public class Online_Replicator_Arsald implements ImportadorOnLine{
	
	private ExistenciaDao existenciaDao;
	private ProductoDao productoDao;
	private SucursalDao sucursalDao;
	
	private Logger logger=Logger.getLogger(getClass());

	public Object importar(Registro r) {
		
		if(r.getSaldoDeArticulo()!=null){
			String art=(String)r.getProductoArsald();
			String sucString=r.getSucursalArsald().toString().trim();
			Integer sucursal=Integer.valueOf(sucString);
			Double saldo=Double.valueOf(r.getSaldoDeArticulo().toString());
			/*Existencia exis=getExistenciaDao().buscarExistencia(art, sucursal);
			if(exis!=null){
				exis.setExistencia(saldo);
				getExistenciaDao().save(exis);
			}else{
				Producto p=getProductoDao().buscarPorClave(art);
				
				if(p==null){
					logger.error("No existe el producto para el registro:"+r);
					return r;
				}
				Sucursal s=getSucursalDao().buscarPorClave(sucursal);
				Existencia ex=new Existencia(p,s,saldo);
				return getExistenciaDao().save(ex);
			}*/
		}
		return null;
	}

	public ExistenciaDao getExistenciaDao() {
		return existenciaDao;
	}

	public void setExistenciaDao(ExistenciaDao existenciaDao) {
		this.existenciaDao = existenciaDao;
	}

	public ProductoDao getProductoDao() {
		return productoDao;
	}

	public void setProductoDao(ProductoDao productoDao) {
		this.productoDao = productoDao;
	}

	public SucursalDao getSucursalDao() {
		return sucursalDao;
	}

	public void setSucursalDao(SucursalDao sucursalDao) {
		this.sucursalDao = sucursalDao;
	}

		

}
